Reading Streams from an AVI File

The following subroutine obtains stream information from an AVI file and determines the stream type from the AVISTREAMINFOEW_M7X structure returned by the AVIStreamInfo0RZH38 function.

// StreamTypes - opens the streams in an AVI file and determines

// stream types.

//

// Global variables

// gcpavi - count of streams in an AVI file

// gapavi[] = array of stream-interface pointers

 

void StreamTypes(HWND hwnd)

    AVISTREAMINFO     avis;

    LONG    r, lHeight = 0;

    WORD    w;

    int     i;

    RECT    rc;

 

// Walk through all streams.

    for (i = 0; i < gcpavi; i++) { 

        AVIStreamInfo(gapavi[i], &avis, sizeof(avis));

 

        if (avis.fccType == streamtypeVIDEO) { 

 

        // Place video-processing functions here.

 

        }

        else if (avis.fccType == streamtypeAUDIO) { 

 

        // Place audio-processing functions here.

 

        }

        else if (avis.fccType == streamtypeTEXT) { 

 

        // Place text-processing functions here.

 

        }

    }

}